home *** CD-ROM | disk | FTP | other *** search
- /* Each host/port has a Root structure. The branch in this Root is */
- /* the first node in the tree with name '/'. The Root *next pointers */
- /* form a linked list of Roots. This Branch *next pointers form a list */
- /* of all of the branches leaving the current node. The Branch *sub */
- /* pointers point to the Branch list for the node at the end of this */
- /* Branch. The Branch *link pointers form connections outside the normal*/
- /* tree structure. They are "web" links between sites,etc... The *prev */
- /* pointers point to the parent branch. The *root pointers point to the */
- /* Root for that node. There is a small amount of redundancy in this */
- /* structure, but it simplified the programming. */
-
- struct BRANCH {
- char name[46]; /* name (partial) of branch */
- char dname[60]; /* name displayed */
- char type; /* type of branch */
- unsigned short level; /* level in tree 0=root */
- float x, y, z;/* coordinates of this branch */
- struct BRANCH *next; /* next branch from last node */
- struct BRANCH *sub; /* sub-branch from this branch */
- struct BRANCH *link; /* web link */
- struct BRANCH *prev; /* up a layer */
- struct ROOT *root; /* root for this branch */
- };
-
- typedef struct BRANCH Branch;
-
- struct ROOT {
- unsigned long addr; /* inet addr of tree */
- char name[40]; /* name of host */
- short port; /* port of gopher */
- char drawme; /* draw me flag */
- Branch branch; /* first branch */
- struct ROOT *next; /* next tree */
- };
- typedef struct ROOT Root;
-